无人机目标跟踪与运动控制④

您所在的位置:网站首页 matlab 运动目标追踪 无人机目标跟踪与运动控制④

无人机目标跟踪与运动控制④

2023-03-13 08:06| 来源: 网络整理| 查看: 265

无人机目标跟踪与运动控制④——PID轨迹跟踪控制(MATLAB) 小黑鸭 分类:运动控制 个人专栏:无人机控制(目标识别/轨迹跟踪) 发布时间 2022.07.27阅读数 1376 评论数 0 汇总

无人机目标跟踪与运动控制①——Gazebo仿真环境搭建

无人机目标跟踪与运动控制②——运动指令与视觉图像

无人机目标跟踪与运动控制③——硬件准备与目标跟踪

无人机目标跟踪与运动控制④——轨迹跟踪控制(理论篇)

无人机目标跟踪与运动控制⑤——轨迹跟踪控制(实验篇)

无人机目标跟踪与运动控制⑥——多无人机编队 [待更新]

0. 前言

首先说明一下本文所涉及的跟踪控制,是建立在无人机已经具有稳定姿态的飞控的基础上进行的(如bebop或大疆tello这种)。因此仅将无人机视作二阶系统,不涉及无人机自身的稳定控制,控制输入为XY方向的加速度(姿态倾角的角度)以及Z方向的速度。

通俗来说就是不考虑那些复杂的飞控算法,直接通过控制无人机的速度和加速度来让他听话,算法也采用简单好用的PID控制,更适合快速入手无人机的运动控制。

本章节是理论篇,将对需要用到的理论知识进行简单的说明,都比较基础,需要写论文的同学可以参考一下

想要直接看实物实验部分的可以直接跳到下一篇实践篇。

另外本人基础理论素养尚且薄弱,如错误的地方希望大家批评指正。

本文采用的无人机是 Parrot 家的 Bebop 2 无人机,通过Parrot官方的SDK接口,可以和ROS进行很好的通讯,可以直接控制无人机XY平面的加速度以及Z方向的速度。

由于我现在已经毕业了,没有时间和条件再重新做一次仿真,就将之前实物实验的过程总结一下分享给大家,可以根据本系的列前两节仿真环境搭建的说明进行尝试。

1. 无人机模型

PID控制是基于期望和输入偏差的函数,不依赖于模型,本小节仅作简要的分析,篇幅有限,在此也不作进一步的推导和说明了,有兴趣可以自行查阅文献。本节的分析仅在后续Matlab的仿真中需要用到。

无人机的坐标转换如图所示

无人机的受力分析如图所示:

无人机的四阶动力学简化模型为:

在这里插入图片描述

其中,

在这里插入图片描述

由于无人机在室内环境下的飞行速度往往较低,因此可以忽略掉空阻系数Ki,进一步简化,在我们后续控制的过程中将无人机当做质点,即偏航角一致为0,且姿态角均较小的情况下,上述系统可以进一步简化为:

在这里插入图片描述而本文的二阶系统,不考虑无人机的姿态,模型就更简单了:

在这里插入图片描述

其中,

在这里插入图片描述

2. PID控制

PID的使用十分的广泛,对于PID控制器的详解,网上有很多内容,本小节也不过多的介绍了。

所谓PID控制,说白就是将实际量与期望量做差,记为e,然后对这个偏差e做进行一系列的计算,最后把这个计算结果赋值给输入量u,其目的就是通过这个偏差e做反馈来调节输入量u,最后使得偏差e趋近于0,这时候实际量就达到了期望的值。

而这些计算,分为比例环节(P),积分环节(I),微分环节(D)。

比例环节 就是给偏差乘上一个系数Kp,即 Kp * e,即系数Kp越大,同样的偏差e情况下,输入量u就越大,被控对象就越快的向目标逼近,但系数Kp过高会产生振荡,过低就会响应的慢。 微分环节 就是计算偏差变化的一阶导数,即偏差变化的速度。其目的就是想让被控对象不仅最后的偏差量为0,还想让其速度也为0。例如在比例环节的作用下,被控对象达到目标点时还存在一定的速度,那么就会超过目标点,进而发生不断的震荡,引入微分环节,只要速度存在,那么微分环节就会对其起到反作用,此时可以简单的理解为其在控制环节中起到了阻尼的效果。 积分环节 就是计算偏差的积分,所谓积分嘛就是累加。举个例子就很好理解了,被控对象在趋近期望值的时候,P不断减小最后施加的作用不足以其达到期望值,这时候变化速度也趋近于0,在PD的共同作用下系统是稳定的,但距离期望值仍有一定距离(常见于温控系统),此时引入积分环节,只要偏差存在,就不断地对偏差进行累加,作用于输出u上,并不断的增大,直到系统达到期望值。

PID公式的写法有很多,为了后续写代码的方便,我这里就用如下的公式,将PID三个参数分开来写:

在这里插入图片描述

3. 无人机控制

理解原理之后,这里直接放入对无人机的控制框图(对应四阶模型,仿真用)

由于姿态环不受位置环的影响,因此内环为俯仰和滚转控制,外环为 X 和 Y 方向的位置控制;

而期望高度 _zd_ 和期望偏航角 _ψd_ 则直接通过高度控制器和偏航控制器来控制,得到 U1 和 U4;

运行时,由期望轨迹 _xd_ 和 _yd_ 解出 _θd_ 和 _ϕd_ ,并进一步将其作为姿态控制器中的输入量,得出姿态控制量 U2 和 U3。

而具体到二阶系统实物应用中的串级PID控制,外环位置环控制框图如下:

内环姿态环的控制框图如下:

对于高度和偏航角控制,如前文所述,只需要进行单环的PID控制即可:

接下来放一下 Simulink 中对无人机的仿真模块的设置(四阶系统),可提供参考:

无人机动力学模型子模块:

姿态控制子模块

位置控制子模块

设计如下所示的螺旋曲线轨迹

在这里插入图片描述

通过所设计的控制器对其进行轨迹跟踪数值仿真,仿真结果如下:

姿态角ϕ,θ,ψ变化曲线图:

轨迹跟踪位置曲线图:

最后放上仿真效果的视频:https://www.bilibili.com/video/BV11Y41177B8

MATLAB 代码(仅供参考):https://github.com/Chenan-W/MATLAB-Trajectory-Tracking-Control-for-UAV

PIDMATLAB自动控制算法多旋翼无人机轨迹跟踪控制

原创文章作者:小黑鸭。如若转载,请注明出处:古月居 http://www.guyuehome.com/38681

打赏 0

点赞 1

收藏 1

分享

微信 微博 QQ 图片 上一篇:无人机目标跟踪与运动控制③——硬件准备与目标跟踪 下一篇:无人机目标跟踪与运动控制⑤——PID轨迹跟踪控制(实验篇)


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3